From the perspective of system architecture, current business servers may be generally categorized into three types, namely, the symmetric multi-processor (Symmetric Multi-Processor, “SMP” for short) structure, the non-uniform memory access (Non-Uniform Memory Access, “NUMA” for short) structure, and the massive parallel processing (Massive Parallel Processing, “MPP” for short) structure.
A so-called server with the symmetric multi-processor structure refers to a server, in which multiple central processing units (Central Processing Unit, “CPU” for short) work symmetrically and do not have a primary-secondary or master-slave relationship, each CPU shares the same physical memory, and the time needed by each CPU to access any address in the memory is the same. However, a server of this type has very limited performance in scalability. A server with the NUMA structure is basically characterized by having multiple CPU modules, each CPU module is formed of multiple (for example, four) CPUs and has an independent local memory and I/O (Input/Output) slots; nodes may be interconnected and exchange information through an interconnection module; therefore, the speed of a CPU accessing a local memory is much higher than that of accessing a remote memory (a memory of another node in the system); furthermore, for a server of this type, when the number of CPU increases, the performance of the server cannot be improved linearly. In a server with the MPP structure, multiple servers with the SMP structure are connected by a certain node interconnection network, each node of a server with the SMP structure may run an operating system and database thereof, but a CPU in each node cannot access the memory of another node, and information exchange between nodes is implemented through an interconnection network between the nodes.
At present, a business server usually adopts a multi-node interconnection structure. In the multi-node interconnection structure, each node is a data processing module, the data processing module includes multiple (for example, two) CPUs that are interconnected and a node controller (Node Controller, “NC” for short). The nodes or data processing modules are connected through an interconnection module, and the interconnection module is usually formed of multiple interconnection chips, such as crossbar switches (Crossbar Switch, “Xbar” for short). Therefore, for the server formed by connecting nodes or data processing modules through an interconnection module, not only many kinds and a large quantity of interconnection chips are required, and the connection is complicated, but also the reliability of the system is poor, and the delay of the inter-node accessing is long, thereby affecting the running efficiency of the system.